Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
Las reglas de seguridad de Firebase "hasAny" vs "in" con la biblioteca javascript son inconsistentes

Esto es muy contrario a la intuición, pero ¿la biblioteca de JavaScript de alguna manera no es totalmente compatible con las reglas de seguridad de Firestore?

Asumiría que no hay conexión entre la sintaxis de las reglas de seguridad y las solicitudes del lado del cliente.

Sin embargo, obtengo este comportamiento en un fragmento de las reglas de seguridad de Firestore:

 // Works fine in tests with test suite // Does NOT work with javascript library request.auth.token.roles[userRole].hasAny([ "admin", "owner" ]) // Works fine in tests with test suite // Also works fine with javascript library request.auth.token.roles[userRole] in ([ "admin", "owner" ])

Editar: el error en el emulador es muy descriptivo:

función no encontrada error: nombre: [hasany]

Entonces, básicamente, parece que la biblioteca de JavaScript no es compatible con las reglas de seguridad.

Estoy usando la última versión de todo:

  • Emulador (herramientas base de fuego): 10.2.2
  • SDK de JavaScript: 9.6.8
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

hasAny es una construcción de las reglas de seguridad de Firestore y no existe en las matrices de JavaScript regulares.

Su solución in JavaScript es interesante, ya que probablemente habría usado some() para esto.

about 4 years ago · Juan Pablo Isaza Report

0

Obviamente fue mi culpa.

Este:

 request.auth.token.roles[userRole]

Devuelve una String . hasAny es una función de la interfaz List . Estaba pasando todas las pruebas porque en los simulacros el valor se mapeaba como una matriz. Al llamar desde el cliente, las reglas fallaron lógicamente.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!